//////////////////////////////////////////////////////////////////////////////////////////
// Copyright 2007 CORE Solutions Limited
// All rights reserved.
// PROPRIETARY AND CONFIDENTIAL INFORMATION.
// Use is subject to license terms.
//
// FUNCTION ID  :  PRINT FORM CONSTANTS
// AUTHOR       :  JERRY CHEN
// DATE CREATE  :  2007/05/09
// DESCRIPTION  :  Constants support the PDF printing
//              :
//              :
//              :
//
// MODIFICATION HISTORY
// DATE         AUTHOR              VERSION NO.      COMMENT
// -----------  ------------------  ---------------  --------------------------------------
// 2007/05/09   Jerry Chen          1.0              source is generated.
/////////////////////////////////////////////////////////////////////////////////////////////
package com.erp.app.common;

import com.lowagie.text.Font;
import com.lowagie.text.FontFactory;

public interface ProjectPrintFormConstants {
	
	//For PDF GENERIC LABEL
	public static final String PDF_GENERIC_LABEL_PAGE = "PAGE";    
	public static final String PDF_GENERIC_LABEL_OF = "OF";
    public static final String PDF_GENERIC_LABEL_YES = "Yes";
    public static final String PDF_GENERIC_LABEL_NO = "No";
    public static final String PDF_GENERIC_LABEL_PLS = "S";
    public static final String PDF_GENERIC_LABEL_CTN = "CTN";
    public static final String PDF_GENERIC_LABEL_PALLET = "PALLET";
    public static final String PDF_GENERIC_LABEL_PER = " PER ";
    
    //For Page Margin, 1inch = 72pt, 1inch = 2.54cm
    public static final int PDF_LASER_PAGE_LEFT_MARGIN = 12;              //unit in pt, = 0.25 inch
    public static final int PDF_LASER_PAGE_RIGHT_MARGIN  = 12;            //unit in pt, = 0.25 inch
    public static final int PDF_LASER_PAGE_TOP_MARGIN = 24;               //unit in pt, = 0.75 inch
    public static final int PDF_LASER_PAGE_BOTTOM_MARGIN = 50;            //unit in pt, = 0.75 inch
    public static final int PDF_LASER_PAGE_BOTTOM_MARGIN_FOR_SO_SPECIAL =110;//unit in pt, = 0.75 inch
    public static final int PDF_LASER_PAGE_BOTTOM_MARGIN_FOR_SPECIAL110 =110;//unit in pt, = 0.75 inch
    public static final int PDF_LASER_PAGE_BOTTOM_MARGIN_FOR_SPECIAL140 =140;//unit in pt, = 0.75 inch
    public static final int PDF_LASER_PAGE_BOTTOM_MARGIN_FOR_TRANSHIPMENT_ADD =130;
    
    public static final int PDF_DOTMX_PAGE_LEFT_MARGIN = 18;              //unit in pt, = 0.25 inch
    public static final int PDF_DOTMX_PAGE_RIGHT_MARGIN = 18;             //unit in pt, = 0.25 inch   
    public static final int PDF_DOTMX_PAGE_TOP_MARGIN = 180;              //unit in pt, = 2.5 inch
    public static final int PDF_DOTMX_PAGE_BOTTOM_MARGIN = 54;            //unit in pt, = 0.75 inch
    public static final int PDF_LASER_PAGE_SPECIAL_IRT_TOP_MARGIN = 24;
    public static final int PDF_LASER_PAGE_SPECIAL_IRT_BOTTOM_MARGIN = 24;

    //For Page Size, 1inch = 72pt, 1inch = 2.54cm
    public static final int PDF_DOTMX_PAGE_SIZE_LENGTH = 864;             //unit in pt, = 12 inch
    public static final int PDF_DOTMX_PAGE_SIZE_WIDTH = 612;              //unit in pt, = 8.5 inch
    
    //PDF Owner Password, not much useful, just for the sake of the parameter in API call
    public static final String PDF_OWNER_PASSWORD = "PDF_OWNER_PASSWORD";
    
    //Default PDF User Password for other documents
    public static final String PDF_DEFAULT_USER_PASSWORD = "threep";
    
    //Default PDF Footer Font Size
    public static final float PDF_DEFAULT_FOOTER_FONT_SIZE =7;
    public static final float PDF_DEFAULT_FOOTER_BLANK_HEIGHT =25;
    
    // The Constants for font name
    public static final String FONT_COURIER_NEW = "Courier New";
    public static final String FONT_COURIER = "Courier";

    public static final String FONT_ARIAL = "Arial";    
    public static final String FONT_ARIAL_BLACK = "ArialBlack";
    public static final String FONT_TIMES_NEW_ROMAN="Times New Roman";
    public static final String FONT_DEFAULT = FONT_ARIAL;

    // The Constants for font file name
    public static final String FONT_FILE_ARIAL = "ARIAL.TTF";
    public static final String FONT_FILE_COURIER = "COUR.TTF";

    public static final String FONT_FILE_ARIAL_BLACK = "ARIBLK.TTF";   
    public static final String FONT_FILE_TIMES_NEW_ROMAN="times.ttf";
    public static final String FONT_FILE_TIMES_NEW_ROMAN_BI="TIMESBI.TTF";
    public static final String FONT_FILE_TIMES_NEW_ROMAN_I="TIMESI.TTF";
    public static final String FONT_FILE_DEFAULT = FONT_FILE_ARIAL;
    
    // The Constants for Font
    public static Font FONT_DEFAULT_TITLE_header_FONT_BOLD = FontFactory.getFont(FONT_DEFAULT, 20, Font.BOLD | Font.UNDERLINE);
    public static Font FONT_DEFAULT_TITLE_FONT_BOLD = FontFactory.getFont(FONT_DEFAULT, 16, Font.BOLD);
    public static Font FONT_DEFAULT_TITLE_FONT_NORMAL = FontFactory.getFont(FONT_DEFAULT, 16, Font.NORMAL);
    public static Font FONT_DEFAULT_TABLE_HEADING_FONT_BOLD = FontFactory.getFont(FONT_DEFAULT, 11, Font.BOLD);
    public static Font FONT_DEFAULT_TABLE_HEADING_FONT_NORMAL = FontFactory.getFont(FONT_DEFAULT, 11, Font.NORMAL);
    public static Font FONT_DEFAULT_TABLE_CELL_FONT_BOLD = FontFactory.getFont(FONT_DEFAULT, 9, Font.BOLD);
    public static Font FONT_DEFAULT_TABLE_CELL_FONT_NORMAL = FontFactory.getFont(FONT_DEFAULT, 9, Font.NORMAL);
    public static Font FONT_DEFAULT_TABLE_CELL_SMALL_FONT_BOLD = FontFactory.getFont(FONT_DEFAULT, 7, Font.BOLD);
    public static Font FONT_DEFAULT_TABLE_CELL_SMALL_FONT_NORMAL = FontFactory.getFont(FONT_DEFAULT, 7, Font.NORMAL);
    public static Font FONT_DEFAULT_TABLE_CELL_XSMALL_FONT_BOLD = FontFactory.getFont(FONT_DEFAULT, 5, Font.BOLD);
    public static Font FONT_DEFAULT_TABLE_CELL_XSMALL_FONT_NORMAL = FontFactory.getFont(FONT_DEFAULT, 5, Font.NORMAL);
    public static Font FONT_DEFAULT_HEADER_FONT = FontFactory.getFont(FONT_DEFAULT, 7, Font.NORMAL);
    public static Font FONT_DEFAULT_HEADER_FOOTER = FontFactory.getFont(FONT_DEFAULT, 7, Font.NORMAL);
    
    public static Font FONT_COURIER_TITLE_FONT_BOLD = FontFactory.getFont(FONT_COURIER, 20, Font.BOLD);
    public static Font FONT_COURIER_TITLE_FONT_NORMAL = FontFactory.getFont(FONT_COURIER, 16, Font.NORMAL);
    public static Font FONT_COURIER_TABLE_HEADING_FONT_BOLD = FontFactory.getFont(FONT_COURIER, 10, Font.BOLD);
    public static Font FONT_COURIER_TABLE_HEADING_FONT_NORMAL = FontFactory.getFont(FONT_COURIER, 10, Font.NORMAL);
    public static Font FONT_COURIER_TABLE_CELL_FONT_BOLD = FontFactory.getFont(FONT_COURIER, 8, Font.BOLD);
    public static Font FONT_COURIER_TABLE_CELL_FONT_NORMAL = FontFactory.getFont(FONT_COURIER, 8, Font.NORMAL);
    public static Font FONT_COURIER_TABLE_CELL_SMALL_FONT_BOLD = FontFactory.getFont(FONT_COURIER, 6, Font.BOLD);
    public static Font FONT_COURIER_TABLE_CELL_SMALL_FONT_NORMAL = FontFactory.getFont(FONT_COURIER, 6, Font.NORMAL);
    public static Font FONT_COURIER_HEADER_FONT = FontFactory.getFont(FONT_COURIER, 6, Font.NORMAL);
    public static Font FONT_COURIER_HEADER_FOOTER = FontFactory.getFont(FONT_COURIER, 6, Font.NORMAL);
    
    public static Font FONT_TIMES_NEW_ROMAN_TITLE_ADDRESS_FONT_BOLD = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 22, Font.BOLD);
    public static Font FONT_TIMES_NEW_ROMAN_TITLE_FONT_BOLD = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 20, Font.BOLD);
    public static Font FONT_TIMES_NEW_ROMAN_TITLE_FONT_NORMAL = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 16, Font.NORMAL);
    public static Font FONT_TIMES_NEW_ROMAN_TABLE_HEADING_FONT_BOLD = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 10, Font.BOLD);
    public static Font FONT_TIMES_NEW_ROMAN_TABLE_HEADING_FONT_NORMAL = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 10, Font.NORMAL);
    public static Font FONT_TIMES_NEW_ROMAN_TABLE_CELL_FONT_BOLD = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 8, Font.BOLD);
    public static Font FONT_TIMES_NEW_ROMAN_TABLE_CELL_FONT_NORMAL = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 8, Font.NORMAL);
    public static Font FONT_TIMES_NEW_ROMAN_TABLE_CELL_SMALL_FONT_BOLD = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 6, Font.BOLD);
    public static Font FONT_TIMES_NEW_ROMAN_TABLE_CELL_SMALL_FONT_NORMAL = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 6, Font.NORMAL);
    public static Font FONT_TIMES_NEW_ROMAN_HEADER_FONT = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 6, Font.NORMAL);
    public static Font FONT_TIMES_NEW_ROMAN_HEADER_FOOTER = FontFactory.getFont(FONT_TIMES_NEW_ROMAN, 8, Font.ITALIC);
    
	// The Constants for number format scale
    public static final int FORMAT_AMOUNT_SCALE_2 = 2;
    public static final int FORMAT_AMOUNT_DEFAULT_SCALE = FORMAT_AMOUNT_SCALE_2;
    
    // Special character
    public static final String PDF_SIGN = ":";
	public static final String PDF_SIGN_TEL = "#:";
	public static final String PDF_SIGN_CLEFT = "/";
	public static final String PDF_SIGN_NO = "#";
	public static final String PDF_SIGN_BREAK = "\n";
	
	public static String BORDER_TOP = "border_top";
	public static String BORDER_BOTTOM = "border_bottom";
	public static String BORDER_LEFT = "border_left";
	public static String BORDER_RIGHT = "border_right";
	
	
	
	// FOR PDF DATE
	public final static String PDF_FABRIC_COMMIT_WSA_CURRENT_DATE_FORMAT = "MM/dd/yyyy";
	public final static String PDF_COMMON_DATE_FORMAT = "MM/dd/yyyy";
	public final static String PDF_FABRIC_COMMIT_WSA_COMMIT_DATE_FORMAT = "dd MMM yyyy";
}
